package net.orange.framework.logic;

import java.util.Collection;

import net.orange.architecture.process.IBaseProcess;
import net.orange.framework.model.Group;
import net.orange.framework.model.User;

/**
 * The interface of menu business delegate process object, to retrieve , save ,
 * remove or process other operation for the menu object.
 */
public interface IMenuProcess extends IBaseProcess {

	/**
	 * Get the menus assign by the special user.
	 * 
	 * @param user
	 *            The special user.
	 * @return The menu collection the user should have.
	 * @throws Exception
	 */
	public Collection get(User user) throws Exception;

	/**
	 * Get the menus assign by the special group.
	 * 
	 * @param group
	 *            The target groups
	 * @return The target group's menus
	 * @throws Exception
	 */
	public Collection find(Group group) throws Exception;
}